suppressPackageStartupMessages({
library(tidyverse)
library(Seurat)
library(kableExtra)
})
load("data/20250620-seurat_integrated_UMAP_nFeat-ScTypeannotated.Rdata")7 Find Markers
Finds markers (differentially expressed genes) for each of the UMAP blobs
7.1 UMAP
Comparison of UMAPs previously annotated using ScType and clustered with Seurat.
d1 <- DimPlot(alldata, label = TRUE, repel = T, label.size = 5) +
NoLegend()
Idents(alldata) <- alldata$sctype_classification
d2 <- DimPlot(alldata, label = TRUE, repel = T, label.size = 4,) +
NoLegend()
d1|d2all_markers <- markers <- FindAllMarkers(alldata, only.pos = TRUE, densify = T)
# write_csv(all_markers, file = "data/20250728-all_markers.csv")7.2 Top marker genes per cluster
7.2.1 Dot plot
Dot plot showing the scaled expression of the top five marker genes per cluster in the integrated dataset. Clusters correspond to Seurat-defined groups (seurat_clusters) and are ordered according to their assigned cell type (sctype_classification). The size of each dot represents the percentage of cells within a cluster expressing the gene, while the color intensity indicates the average expression level. Cluster labels (X-axis) are color-coded by sctype_classification to visually group clusters belonging to the same cell type.
markers <- read_csv("data/20250728-all_markers.csv")
top5 <- markers |>
filter(pct.1>0.3) |>
group_by(cluster) |>
top_n(5, avg_log2FC)
# Idents set to seurat_cluster
Idents(alldata) <- alldata$seurat_clusters
# Map seurat_clusters to sctype_classification
label_map <- alldata@meta.data |>
select(seurat_clusters, sctype_classification) |>
distinct()
# Reorder seurat_cluster based on sctype_classification
seurat_clusters_ordered <- label_map |>
arrange(sctype_classification) |>
pull(seurat_clusters)
# Generate distinct colors automatically (1 color per sctype_classification)
n_classes <- length(unique(label_map$sctype_classification))
auto_colors <- setNames(
scales::hue_pal()(n_classes),
unique(label_map$sctype_classification)
)
# Make the DotPlot
Idents(alldata) = factor(alldata$seurat_clusters,
levels = seurat_clusters_ordered)
DotPlot(alldata, features = top5$gene) +
coord_flip()+
# Apply color to axis text
theme(
axis.text.x = element_text(
size=14,
colour = setNames(
auto_colors[label_map$sctype_classification],
label_map$seurat_cluster
)[levels(Idents(alldata))]
)
)7.2.2 List of the top five marker genes for each Seurat cluster
kbl(top5) |>
kable_styling("striped") |>
scroll_box(height = "1000px")| p_val | avg_log2FC | pct.1 | pct.2 | p_val_adj | cluster | gene |
|---|---|---|---|---|---|---|
| 0 | 5.383311 | 0.960 | 0.331 | 0.00e+00 | 0 | Bcl2a1b |
| 0 | 4.897816 | 0.695 | 0.129 | 0.00e+00 | 0 | Mir155hg |
| 0 | 6.163070 | 0.748 | 0.331 | 0.00e+00 | 0 | Osbpl8 |
| 0 | 5.619881 | 0.678 | 0.325 | 0.00e+00 | 0 | Whrn |
| 0 | 6.029228 | 0.711 | 0.361 | 0.00e+00 | 0 | Pdgfb |
| 0 | 6.011845 | 0.906 | 0.396 | 0.00e+00 | 1 | Entpd1 |
| 0 | 7.829072 | 0.841 | 0.393 | 0.00e+00 | 1 | Mertk |
| 0 | 6.109155 | 0.667 | 0.250 | 0.00e+00 | 1 | Adrb2 |
| 0 | 6.177441 | 0.771 | 0.366 | 0.00e+00 | 1 | Fchsd2 |
| 0 | 6.543904 | 0.737 | 0.346 | 0.00e+00 | 1 | Tbc1d9 |
| 0 | 3.940018 | 0.959 | 0.427 | 0.00e+00 | 2 | Serpine2 |
| 0 | 4.273323 | 0.677 | 0.214 | 0.00e+00 | 2 | Baiap2l2 |
| 0 | 3.120491 | 0.668 | 0.370 | 0.00e+00 | 2 | P4ha1 |
| 0 | 3.465477 | 0.596 | 0.332 | 0.00e+00 | 2 | Pfkfb3 |
| 0 | 5.673301 | 0.535 | 0.266 | 0.00e+00 | 2 | Rab7b |
| 0 | 6.686134 | 0.845 | 0.079 | 0.00e+00 | 3 | Gm42756 |
| 0 | 6.653809 | 0.824 | 0.107 | 0.00e+00 | 3 | Sox10 |
| 0 | 6.686665 | 0.846 | 0.197 | 0.00e+00 | 3 | Usp54 |
| 0 | 6.984864 | 0.751 | 0.124 | 0.00e+00 | 3 | Vldlr |
| 0 | 6.891515 | 0.601 | 0.186 | 0.00e+00 | 3 | 5033421B08Rik |
| 0 | 6.586443 | 0.962 | 0.292 | 0.00e+00 | 4 | Gm10790 |
| 0 | 8.725423 | 0.853 | 0.202 | 0.00e+00 | 4 | 8030442B05Rik |
| 0 | 8.813212 | 0.989 | 0.383 | 0.00e+00 | 4 | P2ry12 |
| 0 | 8.095441 | 0.823 | 0.243 | 0.00e+00 | 4 | A830008E24Rik |
| 0 | 6.336412 | 0.917 | 0.356 | 0.00e+00 | 4 | 4933406I18Rik |
| 0 | 12.962007 | 0.967 | 0.065 | 0.00e+00 | 5 | Ocln |
| 0 | 13.197439 | 0.884 | 0.015 | 0.00e+00 | 5 | Ushbp1 |
| 0 | 13.078963 | 0.859 | 0.014 | 0.00e+00 | 5 | Hspa12b |
| 0 | 13.569486 | 0.929 | 0.089 | 0.00e+00 | 5 | Thsd1 |
| 0 | 12.519384 | 0.891 | 0.285 | 0.00e+00 | 5 | Fut8 |
| 0 | 5.305894 | 0.852 | 0.187 | 0.00e+00 | 6 | Lgals3 |
| 0 | 7.534143 | 0.965 | 0.410 | 0.00e+00 | 6 | Ftl1 |
| 0 | 6.665051 | 0.691 | 0.275 | 0.00e+00 | 6 | Itga5 |
| 0 | 5.344663 | 0.687 | 0.286 | 0.00e+00 | 6 | Fabp5 |
| 0 | 9.585140 | 0.532 | 0.310 | 0.00e+00 | 6 | Fth1 |
| 0 | 8.127567 | 0.982 | 0.106 | 0.00e+00 | 7 | Anln |
| 0 | 8.686365 | 0.881 | 0.140 | 0.00e+00 | 7 | Ppp2r2c |
| 0 | 8.975226 | 0.910 | 0.190 | 0.00e+00 | 7 | Sccpdh |
| 0 | 8.860418 | 0.911 | 0.206 | 0.00e+00 | 7 | Eml2 |
| 0 | 13.274086 | 0.808 | 0.253 | 0.00e+00 | 7 | Plin3 |
| 0 | 6.084166 | 0.859 | 0.433 | 0.00e+00 | 8 | Runx1 |
| 0 | 9.114216 | 0.887 | 0.495 | 0.00e+00 | 8 | Basp1 |
| 0 | 6.960778 | 0.758 | 0.389 | 0.00e+00 | 8 | Mir142hg |
| 0 | 6.221935 | 0.527 | 0.308 | 0.00e+00 | 8 | Creb5 |
| 0 | 6.377049 | 0.540 | 0.335 | 0.00e+00 | 8 | Ifitm10 |
| 0 | 7.337465 | 0.858 | 0.089 | 0.00e+00 | 9 | Serpina3n |
| 0 | 7.531294 | 0.904 | 0.171 | 0.00e+00 | 9 | Tmod1 |
| 0 | 8.824104 | 0.864 | 0.171 | 0.00e+00 | 9 | Tspan15 |
| 0 | 10.654820 | 0.791 | 0.124 | 0.00e+00 | 9 | Sh3gl3 |
| 0 | 7.370502 | 0.558 | 0.049 | 0.00e+00 | 9 | Kit |
| 0 | 6.669409 | 0.984 | 0.076 | 0.00e+00 | 10 | H2-Aa |
| 0 | 6.107818 | 0.965 | 0.060 | 0.00e+00 | 10 | H2-Eb1 |
| 0 | 5.653954 | 0.980 | 0.176 | 0.00e+00 | 10 | H2-Ab1 |
| 0 | 6.099866 | 0.995 | 0.207 | 0.00e+00 | 10 | Cd74 |
| 0 | 6.207174 | 0.927 | 0.218 | 0.00e+00 | 10 | Itgax |
| 0 | 10.965876 | 0.855 | 0.010 | 0.00e+00 | 11 | B230323A14Rik |
| 0 | 11.208839 | 0.836 | 0.024 | 0.00e+00 | 11 | Sfrp5 |
| 0 | 10.121493 | 0.824 | 0.153 | 0.00e+00 | 11 | Fam228b |
| 0 | 11.441386 | 0.821 | 0.170 | 0.00e+00 | 11 | Rgma |
| 0 | 12.556664 | 0.696 | 0.474 | 0.00e+00 | 11 | Sparc |
| 0 | 4.613013 | 0.755 | 0.234 | 0.00e+00 | 12 | Gm15155 |
| 0 | 6.292254 | 0.973 | 0.466 | 0.00e+00 | 12 | Plxdc2 |
| 0 | 6.879256 | 0.858 | 0.407 | 0.00e+00 | 12 | Nrp1 |
| 0 | 4.688339 | 0.826 | 0.437 | 0.00e+00 | 12 | Gpr34 |
| 0 | 4.622451 | 0.332 | 0.301 | 0.00e+00 | 12 | Plcl1 |
| 0 | 16.714419 | 0.975 | 0.036 | 0.00e+00 | 13 | Gldc |
| 0 | 14.989121 | 0.934 | 0.039 | 0.00e+00 | 13 | Grin2c |
| 0 | 11.897805 | 0.929 | 0.045 | 0.00e+00 | 13 | St6galnac5 |
| 0 | 14.997302 | 0.884 | 0.087 | 0.00e+00 | 13 | 4930488L21Rik |
| 0 | 12.983120 | 0.998 | 0.264 | 0.00e+00 | 13 | Tspan7 |
| 0 | 10.029174 | 0.914 | 0.122 | 0.00e+00 | 14 | Mx1 |
| 0 | 9.720563 | 0.848 | 0.120 | 0.00e+00 | 14 | A330040F15Rik |
| 0 | 9.021241 | 0.849 | 0.128 | 0.00e+00 | 14 | Rsad2 |
| 0 | 10.356806 | 0.988 | 0.285 | 0.00e+00 | 14 | Ifi204 |
| 0 | 10.424149 | 0.921 | 0.422 | 0.00e+00 | 14 | Pik3ap1 |
| 0 | 17.534114 | 0.983 | 0.003 | 0.00e+00 | 15 | Cxcr6 |
| 0 | 19.458819 | 0.973 | 0.008 | 0.00e+00 | 15 | Lck |
| 0 | 16.470059 | 0.984 | 0.020 | 0.00e+00 | 15 | Trac |
| 0 | 16.619246 | 0.958 | 0.002 | 0.00e+00 | 15 | Cd226 |
| 0 | 16.343388 | 0.948 | 0.025 | 0.00e+00 | 15 | Runx3 |
| 0 | 13.051094 | 0.994 | 0.015 | 0.00e+00 | 16 | Drc7 |
| 0 | 11.774016 | 0.991 | 0.025 | 0.00e+00 | 16 | Prr32 |
| 0 | 11.639716 | 0.998 | 0.034 | 0.00e+00 | 16 | Clic6 |
| 0 | 12.388454 | 0.998 | 0.203 | 0.00e+00 | 16 | Ezr |
| 0 | 12.746285 | 1.000 | 0.348 | 0.00e+00 | 16 | Cab39l |
| 0 | 12.246278 | 0.981 | 0.401 | 0.00e+00 | 17 | Syngr1 |
| 0 | 9.275217 | 0.994 | 0.438 | 0.00e+00 | 17 | Tyrobp |
| 0 | 10.485866 | 0.997 | 0.506 | 0.00e+00 | 17 | Rplp1 |
| 0 | 11.219707 | 0.991 | 0.501 | 0.00e+00 | 17 | Tmsb4x |
| 0 | 9.060232 | 0.990 | 0.529 | 0.00e+00 | 17 | Fcer1g |
| 0 | 18.534854 | 0.938 | 0.021 | 0.00e+00 | 18 | Ryr2 |
| 0 | 19.407485 | 0.906 | 0.015 | 0.00e+00 | 18 | Grin2a |
| 0 | 21.165791 | 0.914 | 0.389 | 0.00e+00 | 18 | Celf2 |
| 0 | 22.657484 | 0.762 | 0.009 | 0.00e+00 | 18 | A230006K03Rik |
| 0 | 21.655781 | 0.726 | 0.036 | 0.00e+00 | 18 | Sncb |
| 0 | 7.605571 | 0.992 | 0.030 | 0.00e+00 | 19 | Slc6a20a |
| 0 | 7.758149 | 0.994 | 0.054 | 0.00e+00 | 19 | Atp13a5 |
| 0 | 7.764430 | 0.995 | 0.068 | 0.00e+00 | 19 | Notch3 |
| 0 | 7.773113 | 1.000 | 0.074 | 0.00e+00 | 19 | Vtn |
| 0 | 8.832420 | 0.923 | 0.045 | 0.00e+00 | 19 | Aspn |
| 0 | 17.112431 | 0.985 | 0.018 | 0.00e+00 | 20 | Sp9 |
| 0 | 16.538981 | 0.956 | 0.034 | 0.00e+00 | 20 | Kcnb2 |
| 0 | 16.118414 | 0.976 | 0.306 | 0.00e+00 | 20 | Pbx3 |
| 0 | 15.010216 | 0.932 | 0.021 | 0.00e+00 | 20 | Epha6 |
| 0 | 16.698508 | 0.884 | 0.034 | 0.00e+00 | 20 | Dlx2 |
| 0 | 7.129027 | 0.822 | 0.194 | 0.00e+00 | 21 | Tmem178b |
| 0 | 7.083616 | 0.748 | 0.238 | 0.00e+00 | 21 | Nbas |
| 0 | 6.807112 | 0.701 | 0.160 | 0.00e+00 | 21 | Nkain1 |
| 0 | 6.915113 | 0.698 | 0.214 | 0.00e+00 | 21 | Arhgef28 |
| 0 | 10.566937 | 0.521 | 0.285 | 0.00e+00 | 21 | Nckap1 |
| 0 | 13.006318 | 0.907 | 0.012 | 0.00e+00 | 22 | F13a1 |
| 0 | 13.960084 | 0.960 | 0.231 | 0.00e+00 | 22 | Ms4a6c |
| 0 | 12.783361 | 0.886 | 0.061 | 0.00e+00 | 22 | Pf4 |
| 0 | 12.916844 | 0.803 | 0.247 | 0.00e+00 | 22 | Stab1 |
| 0 | 13.608312 | 0.753 | 0.353 | 0.00e+00 | 22 | Maf |
| 0 | 12.109861 | 1.000 | 0.064 | 0.00e+00 | 23 | Ndufa4l2 |
| 0 | 11.042306 | 1.000 | 0.070 | 0.00e+00 | 23 | Egflam |
| 0 | 11.110187 | 0.990 | 0.110 | 0.00e+00 | 23 | Arhgap42 |
| 0 | 13.643806 | 0.990 | 0.255 | 0.00e+00 | 23 | Ctdspl |
| 0 | 10.951412 | 0.969 | 0.329 | 0.00e+00 | 23 | Septin11 |
| 0 | 24.821567 | 1.000 | 0.167 | 0.00e+00 | 24 | Cfap141 |
| 0 | 27.457694 | 0.996 | 0.003 | 0.00e+00 | 24 | Sntn |
| 0 | 25.591092 | 0.991 | 0.027 | 0.00e+00 | 24 | Fam166b |
| 0 | 29.195085 | 0.991 | 0.084 | 0.00e+00 | 24 | Cdhr4 |
| 0 | 25.670129 | 0.957 | 0.024 | 0.00e+00 | 24 | Stoml3 |
| 0 | 13.385614 | 0.970 | 0.090 | 0.00e+00 | 25 | Pdgfra |
| 0 | 13.573818 | 1.000 | 0.272 | 0.00e+00 | 25 | Epn2 |
| 0 | 18.279946 | 0.970 | 0.290 | 0.00e+00 | 25 | Itga9 |
| 0 | 14.885678 | 0.827 | 0.508 | 0.00e+00 | 25 | Marcks |
| 0 | 12.627057 | 0.523 | 0.246 | 4.70e-06 | 25 | Agap1 |
| 0 | 11.521800 | 0.959 | 0.293 | 0.00e+00 | 26 | Tpm1 |
| 0 | 12.845471 | 0.942 | 0.302 | 0.00e+00 | 26 | Crim1 |
| 0 | 11.753684 | 0.884 | 0.075 | 0.00e+00 | 26 | Rasd1 |
| 0 | 13.341255 | 0.901 | 0.348 | 0.00e+00 | 26 | Rbpms |
| 0 | 14.338538 | 0.709 | 0.319 | 0.00e+00 | 26 | Slc38a2 |
| 0 | 8.995693 | 1.000 | 0.120 | 0.00e+00 | 27 | Cdca3 |
| 0 | 9.018390 | 1.000 | 0.162 | 0.00e+00 | 27 | Cdca8 |
| 0 | 8.773329 | 0.979 | 0.141 | 0.00e+00 | 27 | Cenpe |
| 0 | 8.967621 | 0.965 | 0.057 | 0.00e+00 | 27 | Hmmr |
| 0 | 9.105028 | 0.896 | 0.108 | 0.00e+00 | 27 | Aspm |
| 0 | 9.776108 | 1.000 | 0.197 | 0.00e+00 | 28 | Grid2 |
| 0 | 10.209713 | 1.000 | 0.240 | 0.00e+00 | 28 | Ust |
| 0 | 9.873548 | 1.000 | 0.300 | 0.00e+00 | 28 | Pals2 |
| 0 | 11.913883 | 0.993 | 0.277 | 0.00e+00 | 28 | Ank2 |
| 0 | 9.693226 | 1.000 | 0.091 | 0.00e+00 | 28 | Cap2 |
| 0 | 11.310231 | 1.000 | 0.051 | 0.00e+00 | 29 | Otx2os1 |
| 0 | 9.001266 | 1.000 | 0.186 | 0.00e+00 | 29 | Pip5k1b |
| 0 | 8.989740 | 0.990 | 0.040 | 0.00e+00 | 29 | Kcne2 |
| 0 | 10.779732 | 0.990 | 0.230 | 0.00e+00 | 29 | Sh3d19 |
| 0 | 11.824433 | 0.958 | 0.037 | 0.00e+00 | 29 | Atp2b3 |
| 0 | 7.039520 | 0.878 | 0.080 | 0.00e+00 | 30 | Fgfr3 |
| 0 | 6.968599 | 0.796 | 0.064 | 0.00e+00 | 30 | Agt |
| 0 | 7.973467 | 0.816 | 0.189 | 0.00e+00 | 30 | Rhou |
| 0 | 6.571570 | 0.633 | 0.184 | 3.38e-05 | 30 | Vegfa |
| 0 | 7.359981 | 0.633 | 0.089 | 6.51e-05 | 30 | Gabra2 |